As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option for processing and storing information is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, educational, governmental, or other purposes thereby allowing users to take advantage of the value of the information.
Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
One type of information handling system is commonly referred to as a server or server system. As suggested by its name, a server system might be described as an information handling system that provides a service to one or more other information handling systems. Server systems include, as examples, application servers dedicated to running specified software applications, database servers that provide database services, file servers that provide file services, web servers that communicate with HTTP (Hypertext transfer protocol) clients to receive and respond to HTTP requests, and numerous other types of servers.
An increasingly important aspect or feature of a server system is its system management resources including remote management resources. Although system management concepts are not exclusively applicable to server systems, they are particularly prevalent in such systems and the exemplary implementations of system management resources presented herein emphasize system management resources in the context of server systems. It is understood, however, that the system management features described herein may also be appropriate for other classes of information handling systems including, as examples, desktop systems, mobile systems including notebook or lap top systems and hand held systems.
System management features and requirements are growing at a rapid pace, as standards bodies such as the Distributed Management Task Force (DMTF) develop specifications to increase the interoperability of products developed by independent software and hardware vendors. Of particular focus among DMTF working groups and leaders in the server product space is the ability to manage servers out-of-band (OOB). OOB management refers to system console access provided, even in the event of primary network subsystem (hard and/or software) failure. OOB management can be done via a console server or via a remote access card (RAC) which has its own processor, memory, battery, network connection, and access to the system bus. OOB management is highly desirable because it permits system management when the primary data bus of the system, sometimes referred to as the system bus, fails. In band (IB) management, in contrast, generally refers to the use of the system bus to manage a system. OOB offers the prospect of managing a system precisely when the system is in need of management, i.e., when the system is not working.
In addition to the OOB/IB distinction, system management is also differentiated by whether the management is local or remote. For purposes of this disclosure, local management generally refers to management commands, messages, and the like that are generated by a central processing unit of a server and sent to a management controller. Remote management, as suggested by its name, refers generally to a management paradigm in which management commands, messages, and the like are transmitted and generated by a remote information handling system, i.e., an information handling system having processing and storage resource that are distinct from the processing and storage resources of the managed system. The remote information handling system and the managed system are also generally located in different locations.
Conventional implementations of system management generally implement local management using dedicated interfaces that may include drivers, hardware, and firmware. In contrast, remote management generally employs a conventional Ethernet-based IP interface, which is typically provided by a network controller (e.g., a conventional network interface card or NIC). In such remote management implementations, the NIC provides a direct path between the external network to which the remote resource is connected and the management controller embedded in the managed system, i.e., a path from remote resource to management controller that does not include the system bus of the managed system.
Differences in the implementations of local management and remote management are undesirable because host management software must address the management controllers differently depending on whether the management is local or remote. Moreover, it is challenging to provide full management support to servers having multiple instances and/or types of management controllers using conventionally implemented network controllers. Communication between two management controllers, for example, generally requires a dedicated inter-controller interface because conventional network controllers cannot simultaneously maintain interfaces for two different management controllers.